import request from "@/utils/request"
export interface FindFlightInfo {
    pageNo?: number; // 页码（可选）
    pageSize?: number; // 页面大小（可选）
    flightNumber: string; // 航班号
    departureTime: string; // 出发时间
    arrivalTime: string; // 到达时间
    departureCity: string; // 出发城市
    arrivalCity: string; // 到达城市
    airline: string; // 航空公司
    aircraftType: string; // 飞机型号
}
export interface FindFlightTableRow {
    id: string;
    flightNumber: string;
    departureTime: string;
    arrivalTime: string;
    departureCity: string;
    arrivalCity: string;
    airline: string;
    aircraftType: string;
    seatCapacity: number;
    ticketNum: number;
    price: number;
    status: number;
    createTime: string;
}
export interface TaiguWeather {
    area: string; // 地区
    code: number; // 编码
    province: string; // 省份
    data: {
        temp: string; // 温度
        dayWind: string; // 白天风力
        nightWind: string; // 夜晚风力
        dayWeather: string; // 白天天气状况
        nightTemp: string; // 夜晚温度
        nightIcon: string; // 夜晚天气图标
        dayIcon: string; // 白天天气图标
        pm25: string; // PM2.5指数
        nightWeather: string; // 夜晚天气状况
        dayTemp: string; // 白天温度
        weather: string; // 当前天气状况
        humidity: string; // 湿度
        time: string; // 时间
        Icon: string; // 天气图标
        wind: string; // 风力
    };
    city: string; // 城市
}

export interface EvfaluateRow {
    username: string;
    phone: string;
    score: number;
    comment: string;
}
export interface FindMyOrderInfo {
    id: string;
    flightNumber: string;
    departureTime: string;
    arrivalTime: string;
    departureCity: string;
    arrivalCity: string;
    airline: string;
    price: number;
    ordersTime: string;
}
export interface FindMyOrderDetail {
    orderId: string,
    flightNumber: string; // 航班号
    departureTime: string; // 出发时间
    arrivalTime: string; // 到达时间
    departureCity: string; // 出发城市
    arrivalCity: string; // 到达城市
    airline: string; // 航空公司
    aircraftType: string; // 飞机型号
    seatCapacity: number; // 座位容量
    ticketNum: number; // 票数
    price: number; // 价格
    status: number; // 状态
    paymentStatus: number; // 支付状态
    ordersTime: string; // 下单时间
    paymentTime: string | null; // 支付时间（可为空）
    cancelTime: string | null; // 取消时间（可为空）
}
export interface PayOrder {
    id: string
    flightId: string
    paymentStatus: boolean
}
export interface evaluateType {
    id: string;
    score: number;
    comment: string;
}
export interface AddFlightInfo {
    flightNumber: string; // 航班号
    departureTime: string; // 出发时间
    arrivalTime: string; // 到达时间
    departureCity: string; // 出发城市
    arrivalCity: string; // 到达城市
    airline: string; // 航空公司
    aircraftType: string; // 飞机型号
    seatCapacity: number | undefined; // 座位容量
    ticketNum: number | undefined; // 票数
    price: number | undefined; // 价格
    status: number | undefined; // 状态
}
export interface ModifyFlightInfo {
    id: string; // 航班ID
    flightNumber: string; // 航班号
    departureTime: string; // 出发时间
    arrivalTime: string; // 到达时间
    departureCity: string; // 出发城市
    arrivalCity: string; // 到达城市
    airline: string; // 航空公司
    aircraftType: string; // 飞机型号
    seatCapacity: number | null; // 座位容量
    ticketNum: number | null; // 票数
    price: number | null; // 价格
    status: number | null; // 状态
}
export interface AllOrderInfoRow {
    orderId: string;
    username: string; // 用户名
    phone: string; // 电话号码
    email: string; // 电子邮件
    ordersTime: string; // 下单时间
    paymentTime: string; // 付款时间
    cancelTime: string | null; // 取消时间（可为 null）
}

// 查询航班信息
export function reqFindFlightInfo(params: Partial<FindFlightInfo>) {
    return request({
        url: '/findFlightInfo',
        method: 'post',
        data: params,
    })
}
// id查询航班信息
export function reqFindFlightInfoById(params: { id: string }) {
    return request({
        url: '/findFlightInfoById',
        method: 'post',
        data: params,
    })
}

// 添加航班信息
export function reqAddFlightInfo(params: Partial<AddFlightInfo>) {
    return request({
        url: '/addFlightInfo',
        method: 'post',
        data: params,
    })
}
// 删除订单
export function reqRemoveOrderInfo(params: { id: string }) {
    return request({
        url: '/removeOrderInfo',
        method: 'post',
        data: params,
    })
}
// 修改航班信息
export function reqModifyFlightInfo(params: Partial<ModifyFlightInfo>) {
    return request({
        url: '/modifyFlightInfo',
        method: 'post',
        data: params,
    })
}
// 删除航班信息
export function reqRemoveFlightInfo(params: { id: string }) {
    return request({
        url: '/removeFlightInfo',
        method: 'post',
        data: params,
    })
}


// 预定航班
export function reqAddOrderInfo(params: { flightId: string }) {
    return request({
        url: '/addOrderInfo',
        method: 'post',
        data: params,
    })
}
// 查看全部评价
export function reqFindEvFaluate(params: { flightId: string, pageNo: number, pageSize: number }) {
    return request({
        url: '/findCommentByFlightId',
        method: 'post',
        data: params,
    })
}
// 查看太谷天气
export function reqFindTaiguWeather() {
    return request({
        url: '/findTaiguWeather',
        method: 'get',
    })
}
// 查看我的航班信息
export function reqFindMyOrderInfo() {
    return request({
        url: '/findMyOrderInfo',
        method: 'post',
        data: { pageNo: 1, pageSize: 100 },
    })
}
// 查看一个的航班全部订单信息
export function reqFindOrderByFlightId(params: { paymentStatus?: string | number | undefined, flightId: string, pageNo: number, pageSize: number }) {
    return request({
        url: '/findOrderByFlightId',
        method: 'post',
        data: params,
    })
}
// 查看订单信息
export function reqFindMyOrderDetail(params: { id: string }) {
    return request({
        url: '/findMyOrderDetail',
        method: 'post',
        data: params,
    })
}
// 支付订单
export function reqModifyOrderInfo(params: PayOrder) {
    return request({
        url: '/modifyOrderInfo',
        method: 'post',
        data: params,
    })
}

// 评价
export function reqCommentOrder(params: evaluateType) {
    return request({
        url: '/commentOrder',
        method: 'post',
        data: params,
    })
}

